package com.ctshk.rpc.custom.req.inquiry;

import com.ctshk.common.model.BaseEntity;
import com.ctshk.rpc.custom.dto.client.ClientAreaDTO;
import com.ctshk.rpc.custom.req.ContactReq;
import com.ctshk.rpc.custom.req.CustomerTypeReq;
import com.ctshk.rpc.custom.req.QuotationTouristTypeReq;
import com.ctshk.rpc.custom.req.TravelDaysReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 定制单
 * </p>
 *
 * @author 于松明
 * @since 2021-04-22
 */
@Data
@ApiModel(value="CustomizedTripScheduleInformation对象", description="定制旅游")
public class InquiryTourInformationReq implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    /*@ApiModelProperty(value = " 出境类型(1 境内 2 境外)")
    private Integer departType;*/

    @ApiModelProperty(value = " 出行性质（1 個人/家庭定制 2 企業/團隊定制 3 會議會獎）")
    private Integer travelType;

    /*@ApiModelProperty(value = "目的地主数据ID")
    private Long destinationId;*/

    /*@NotNull(message = "请输入目的地")
    @ApiModelProperty(value = "目的地", required = true)
    private String destination;*/

    @NotNull(message = "请输入目的地")
    @ApiModelProperty(value = "目的地", required = true)
    private List<ClientAreaDTO> destination;

    @ApiModelProperty(value = "出发地主数据ID")
    private Long departurePlaceId;

    @NotNull(message = "请输入出发地")
    @ApiModelProperty(value = "出发地", required = true)
    private String departurePlace;

    @NotNull(message = "请输入预计出发日期")
    @ApiModelProperty(value = "预计出发日期", required = true)
    private LocalDate departureDate;

    @NotNull(message = "出行天数不能为空")
    @ApiModelProperty(value = "出行天数", required = true)
    private TravelDaysReq travelDaysReq;

//    @ApiModelProperty(value = "出行人数")
//    private Integer totalPeopleNum;

    @ApiModelProperty(value = "人均预算")
    private BigDecimal capitaBudget;

    @ApiModelProperty(value = "预计人数数组")
    private List<QuotationTouristTypeReq> touristTypes;

    @NotNull(message = "联络人姓名不能为空")
    @ApiModelProperty(value = "联络人姓名", required = true)
    private String contactName;

    @NotNull(message = "请选择联络电话区号")
    @ApiModelProperty(value = "联络电话区号", required = true)
    private String contactTelAreaCode;

    @NotNull(message = "请输入联络电话")
    @ApiModelProperty(value = "联络电话", required = true)
    private String contactTelephones;

    @NotNull(message = "请输入验证码")
    @ApiModelProperty(value = "验证码", required = true)
    private String code;

    @ApiModelProperty(value = "联系邮箱")
    private String contactEmail;

    @ApiModelProperty(value = "内部备注")
    private String internalRemark;

    @ApiModelProperty(value = "C端用户ID")
    private Long userId;

    @ApiModelProperty(value = "特色定制列表")
    private List<InquiryRequireReq> requireList;

}
